3.有限性(Finiteness):演算法不能有無窮迴路,必須能終止執行,亦即必須在有限的步驟內完成。
由於演算法並非是真正可以執行的程式。但是,真正的程式是可以有無窮迴路的動作。
例如:Windows 作業系統(系統程式)除非系統開機或當機,否則它會永遠執行一個「等待迴圈」,來等待使用者從鍵盤輸入或其他的輸入設備。
4.正確性(Correctness):既然演算法是解決問題的方法,因此,正確性是最基本的要求。
例如:以下判斷某數為奇偶數的演算法,雖然符合「明確性」•但是「不正確」,因為N除以2,其餘數為0.則N應該為「偶數」,而非「奇數」。
(1)輸入一個正整數N。
(2)如果N 除以2,其餘數為0。
(3)則其N為奇數。應該改為「偶數」
5.輸出(Output):至少一個輸出。
例如:在電腦中,處理資料的基本過程有三個步驟:
輸入 處理 輸出
(原始資料)(程式)(有用的資訊)
所以,使用電腦來為我們處理資料時,有可能是系統自動接收到一個訊號,來當作輸入資料,但是系統至少會輸出一項讓使用者參考的有用資訊。